home *** CD-ROM | disk | FTP | other *** search
/ Young Minds / Young Minds Interactive CD-ROM.ISO / dungeon / listen.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-09-16  |  1.1 KB  |  67 lines

  1. #include <stdio.h>
  2.  
  3. #ifndef CINDEXFILE
  4. #define CINDEXFILE    "/usr/games/lib/dunlib/dindx.dat"
  5. #endif
  6.  
  7. main(numargs, argptr)
  8.  
  9. int numargs;
  10. char *argptr[];
  11. {
  12. int  chr;
  13. FILE *fpin;
  14.  
  15.  
  16.     fprintf(stderr,"Yawn... \n");
  17.  
  18. /*     open init file */
  19.     fpin = fopen(CINDEXFILE, "r");
  20.     if (fpin == NULL)  {
  21.         fclose(fpin);
  22.         fprintf(stderr,"Init file missing.\n");
  23.         exit(0);
  24.     }
  25.  
  26. /*     transfer init file into the pipe */
  27.  
  28.     while ((chr = getc(fpin)) != EOF)
  29.         putchar((char)chr);
  30.  
  31.     fclose(fpin);
  32.  
  33. /*    check for restore file argument  */
  34.  
  35.     if(numargs > 1){
  36.         fpin = fopen(*++argptr,"r");
  37.         if( fpin == NULL)
  38.             fprintf(stderr,"Restore file missing.\n");
  39.         
  40.         else {
  41.             putchar('R');
  42.             while((chr = getc(fpin)) != EOF)
  43.                 putchar((char)chr);
  44.             fprintf(stderr,"Now, where were we...\n");
  45.             fclose(fpin);
  46.         }
  47.     }
  48.  
  49.     fprintf(stderr,"Oh hello .. \n");
  50.  
  51. /*    send end of init data flag    */
  52.  
  53.     putchar('?');
  54.     fflush(stdout);
  55.  
  56. /*    send lines of standard input to pipe    */
  57.  
  58.     while ((chr = getchar()) != EOF){
  59.         putchar(chr);
  60.         if (chr == '\n')
  61.             fflush(stdout);
  62.     }
  63.  
  64. /*     end the process    */
  65.     fprintf(stderr,"Goodnight .. \n");
  66. }
  67.